{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 1,
   "id": "15c826ae",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>Brix</th>\n",
       "      <th>wl1</th>\n",
       "      <th>wl2</th>\n",
       "      <th>wl3</th>\n",
       "      <th>wl4</th>\n",
       "      <th>wl5</th>\n",
       "      <th>wl6</th>\n",
       "      <th>wl7</th>\n",
       "      <th>wl8</th>\n",
       "      <th>wl9</th>\n",
       "      <th>...</th>\n",
       "      <th>wl591</th>\n",
       "      <th>wl592</th>\n",
       "      <th>wl593</th>\n",
       "      <th>wl594</th>\n",
       "      <th>wl595</th>\n",
       "      <th>wl596</th>\n",
       "      <th>wl597</th>\n",
       "      <th>wl598</th>\n",
       "      <th>wl599</th>\n",
       "      <th>wl600</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>15.5</td>\n",
       "      <td>-1.032355</td>\n",
       "      <td>-1.030551</td>\n",
       "      <td>-1.027970</td>\n",
       "      <td>-1.024937</td>\n",
       "      <td>-1.021866</td>\n",
       "      <td>-1.019143</td>\n",
       "      <td>-1.016866</td>\n",
       "      <td>-1.014910</td>\n",
       "      <td>-1.012907</td>\n",
       "      <td>...</td>\n",
       "      <td>0.692447</td>\n",
       "      <td>0.692944</td>\n",
       "      <td>0.692376</td>\n",
       "      <td>0.690764</td>\n",
       "      <td>0.688081</td>\n",
       "      <td>0.684294</td>\n",
       "      <td>0.679348</td>\n",
       "      <td>0.673240</td>\n",
       "      <td>0.665922</td>\n",
       "      <td>0.657307</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>16.7</td>\n",
       "      <td>-1.139034</td>\n",
       "      <td>-1.137186</td>\n",
       "      <td>-1.134485</td>\n",
       "      <td>-1.131222</td>\n",
       "      <td>-1.127761</td>\n",
       "      <td>-1.124464</td>\n",
       "      <td>-1.121508</td>\n",
       "      <td>-1.118802</td>\n",
       "      <td>-1.115973</td>\n",
       "      <td>...</td>\n",
       "      <td>0.729328</td>\n",
       "      <td>0.728031</td>\n",
       "      <td>0.725548</td>\n",
       "      <td>0.721815</td>\n",
       "      <td>0.716767</td>\n",
       "      <td>0.710405</td>\n",
       "      <td>0.702706</td>\n",
       "      <td>0.693710</td>\n",
       "      <td>0.683480</td>\n",
       "      <td>0.671960</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>18.1</td>\n",
       "      <td>-1.152821</td>\n",
       "      <td>-1.150937</td>\n",
       "      <td>-1.148288</td>\n",
       "      <td>-1.145165</td>\n",
       "      <td>-1.141951</td>\n",
       "      <td>-1.138977</td>\n",
       "      <td>-1.136366</td>\n",
       "      <td>-1.134011</td>\n",
       "      <td>-1.131516</td>\n",
       "      <td>...</td>\n",
       "      <td>0.736608</td>\n",
       "      <td>0.735214</td>\n",
       "      <td>0.732669</td>\n",
       "      <td>0.728911</td>\n",
       "      <td>0.723844</td>\n",
       "      <td>0.717415</td>\n",
       "      <td>0.709645</td>\n",
       "      <td>0.700555</td>\n",
       "      <td>0.690147</td>\n",
       "      <td>0.678390</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>14.8</td>\n",
       "      <td>-1.087215</td>\n",
       "      <td>-1.085455</td>\n",
       "      <td>-1.082867</td>\n",
       "      <td>-1.079797</td>\n",
       "      <td>-1.076568</td>\n",
       "      <td>-1.073632</td>\n",
       "      <td>-1.071087</td>\n",
       "      <td>-1.068877</td>\n",
       "      <td>-1.066654</td>\n",
       "      <td>...</td>\n",
       "      <td>0.758695</td>\n",
       "      <td>0.757963</td>\n",
       "      <td>0.756038</td>\n",
       "      <td>0.752903</td>\n",
       "      <td>0.748496</td>\n",
       "      <td>0.742886</td>\n",
       "      <td>0.736085</td>\n",
       "      <td>0.728019</td>\n",
       "      <td>0.718577</td>\n",
       "      <td>0.707702</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>15.1</td>\n",
       "      <td>-1.080364</td>\n",
       "      <td>-1.078436</td>\n",
       "      <td>-1.075784</td>\n",
       "      <td>-1.072693</td>\n",
       "      <td>-1.069562</td>\n",
       "      <td>-1.066691</td>\n",
       "      <td>-1.064214</td>\n",
       "      <td>-1.062025</td>\n",
       "      <td>-1.059787</td>\n",
       "      <td>...</td>\n",
       "      <td>0.719793</td>\n",
       "      <td>0.718875</td>\n",
       "      <td>0.716860</td>\n",
       "      <td>0.713771</td>\n",
       "      <td>0.709577</td>\n",
       "      <td>0.704232</td>\n",
       "      <td>0.697717</td>\n",
       "      <td>0.689882</td>\n",
       "      <td>0.680748</td>\n",
       "      <td>0.670263</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>5 rows × 601 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "   Brix       wl1       wl2       wl3       wl4       wl5       wl6       wl7  \\\n",
       "0  15.5 -1.032355 -1.030551 -1.027970 -1.024937 -1.021866 -1.019143 -1.016866   \n",
       "1  16.7 -1.139034 -1.137186 -1.134485 -1.131222 -1.127761 -1.124464 -1.121508   \n",
       "2  18.1 -1.152821 -1.150937 -1.148288 -1.145165 -1.141951 -1.138977 -1.136366   \n",
       "3  14.8 -1.087215 -1.085455 -1.082867 -1.079797 -1.076568 -1.073632 -1.071087   \n",
       "4  15.1 -1.080364 -1.078436 -1.075784 -1.072693 -1.069562 -1.066691 -1.064214   \n",
       "\n",
       "        wl8       wl9  ...     wl591     wl592     wl593     wl594     wl595  \\\n",
       "0 -1.014910 -1.012907  ...  0.692447  0.692944  0.692376  0.690764  0.688081   \n",
       "1 -1.118802 -1.115973  ...  0.729328  0.728031  0.725548  0.721815  0.716767   \n",
       "2 -1.134011 -1.131516  ...  0.736608  0.735214  0.732669  0.728911  0.723844   \n",
       "3 -1.068877 -1.066654  ...  0.758695  0.757963  0.756038  0.752903  0.748496   \n",
       "4 -1.062025 -1.059787  ...  0.719793  0.718875  0.716860  0.713771  0.709577   \n",
       "\n",
       "      wl596     wl597     wl598     wl599     wl600  \n",
       "0  0.684294  0.679348  0.673240  0.665922  0.657307  \n",
       "1  0.710405  0.702706  0.693710  0.683480  0.671960  \n",
       "2  0.717415  0.709645  0.700555  0.690147  0.678390  \n",
       "3  0.742886  0.736085  0.728019  0.718577  0.707702  \n",
       "4  0.704232  0.697717  0.689882  0.680748  0.670263  \n",
       "\n",
       "[5 rows x 601 columns]"
      ]
     },
     "execution_count": 1,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# 导入 pandas 读取数据\n",
    "import pandas as pd\n",
    "import numpy as np\n",
    "\n",
    "# 读取数据\n",
    "data = pd.read_csv(\"./data/peach_spectra_brix.csv\")\n",
    "data[:5]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "id": "369b8900",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "数据矩阵 data.shape： (50, 601)\n",
      "X.shape:(50, 600), y.shape:(50,)\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "(array([[-1.03235522, -1.03055086, -1.02796982, ...,  0.67323981,\n",
       "          0.66592221,  0.65730671],\n",
       "        [-1.13903374, -1.13718559, -1.13448514, ...,  0.69371003,\n",
       "          0.6834796 ,  0.67195954],\n",
       "        [-1.15282145, -1.15093731, -1.14828792, ...,  0.7005548 ,\n",
       "          0.69014711,  0.67839039],\n",
       "        ...,\n",
       "        [-1.07507228, -1.07321983, -1.07053089, ...,  0.68964632,\n",
       "          0.68117942,  0.6714216 ],\n",
       "        [-1.13547094, -1.13363607, -1.13100228, ...,  0.70733553,\n",
       "          0.69798395,  0.68729054],\n",
       "        [-1.03606157, -1.03425973, -1.03167827, ...,  0.66929315,\n",
       "          0.66099829,  0.65157825]]),\n",
       " array([15.5, 16.7, 18.1, 14.8, 15.1, 19.3, 12.5, 17.7, 18.5, 18.3, 18.6,\n",
       "        17.2, 19.4, 16.2, 15.3, 14.3, 13.3, 14.8, 18.5, 11.2, 16.3, 17.5,\n",
       "        16.4, 18.1, 17.5, 16.7, 20. , 14.5, 13. , 11.3, 16.8, 17.2, 15.4,\n",
       "        13.5, 19.2, 15.4, 15.8, 18. , 18.2, 12.3, 15.5, 14.8, 19.1, 17.9,\n",
       "        16.8, 18.1, 16.6, 18.8, 17.7, 18.1]))"
      ]
     },
     "execution_count": 2,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# m * n \n",
    "print(\"数据矩阵 data.shape：\",data.shape)\n",
    "\n",
    "# 50个样本， 600个 波段 第一列是 桃子糖度值 需要分离开\n",
    "X = data.values[:,1:] \n",
    "# 等同操作\n",
    "#X = data.drop(['Brix'], axis=1)\n",
    "\n",
    "y = data.values[:,0]\n",
    "# 等同操作\n",
    "# y = data.loc[:,'Brix'].values\n",
    "\n",
    "print(f\"X.shape:{X.shape}, y.shape:{y.shape}\")\n",
    "X,y"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "id": "628170a0",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<module 'SPA' from '/home/rxc/study/SPA/SPA.py'>"
      ]
     },
     "execution_count": 3,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# 导入SPA包\n",
    "import SPA \n",
    "\n",
    "SPA"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "id": "43159687",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[-1.13903374 -1.13718559 -1.13448514 -1.13122205 -1.12776107]\n",
      "[-0.60169236 -0.60165083 -0.60179295 -0.60222359 -0.60283253]\n"
     ]
    }
   ],
   "source": [
    "# 导入spa对象\n",
    "spa = SPA.SPA()\n",
    "# 数据归一化\n",
    "from sklearn.preprocessing import MinMaxScaler\n",
    "min_max_scaler = MinMaxScaler(feature_range=(-1, 1))  # 这里feature_range根据需要自行设置，默认（0,1）\n",
    "\n",
    "X_ = min_max_scaler.fit_transform(X)\n",
    "\n",
    "print(X[1,:5])\n",
    "print(X_[1,:5])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "id": "ebdc130e",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "((30, 600), (20, 600))"
      ]
     },
     "execution_count": 5,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# 建模集测试集分割\n",
    "from sklearn.model_selection import train_test_split\n",
    "\n",
    "# 注意 X_ 分割 \n",
    "# 若存在 运行后出现 波段选择为 最小值 可适当调整 建模集与测试集比例 test_size 值 0.3 - 0.5\n",
    "Xcal, Xval, ycal, yval = train_test_split(X_, y, test_size=0.4, random_state=0)\n",
    "\n",
    "Xcal.shape,Xval.shape"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "id": "f4989c57",
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "findfont: Font family ['sans-serif'] not found. Falling back to DejaVu Sans.\n",
      "findfont: Font family ['sans-serif'] not found. Falling back to DejaVu Sans.\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "# 建模筛选\n",
    "# m_max 默认为 50(Xcal样本大于52) ,如果 Xcal(m*n) m < 50 m_max=m-2\n",
    "var_sel, var_sel_phase2 = spa.spa(\n",
    "        Xcal, ycal, m_min=2, m_max=28,Xval=Xval, yval=yval, autoscaling=1)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "id": "ef035355",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "(35, 600) (15, 600)\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "Xcal, Xval, ycal, yval = train_test_split(X_, y, test_size=0.3, random_state=0)\n",
    "print(Xcal.shape,Xval.shape)\n",
    "# 建模筛选\n",
    "var_sel, var_sel_phase2 = spa.spa(\n",
    "        Xcal, ycal, m_min=2, m_max=33,Xval=Xval, yval=yval, autoscaling=1)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "id": "08d20b43",
   "metadata": {},
   "outputs": [],
   "source": [
    "Xcal, Xval, ycal, yval = train_test_split(X_, y, test_size=0.5, random_state=0)\n",
    "print(Xcal.shape,Xval.shape)\n",
    "# 建模筛选\n",
    "var_sel, var_sel_phase2 = spa.spa(\n",
    "        Xcal, ycal, m_min=2, m_max=23,Xval=Xval, yval=yval, autoscaling=1)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "id": "21405b2d",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "波段(前5个) ['wl1' 'wl2' 'wl3' 'wl4' 'wl5']\n",
      "spa 筛选出的波段(以 test_size=0.3 为例): ['wl592' 'wl287' 'wl156' 'wl166' 'wl387' 'wl13' 'wl413' 'wl578' 'wl148'\n",
      " 'wl600' 'wl133' 'wl495' 'wl332' 'wl567']\n",
      "X_select.shape: (50, 14)\n"
     ]
    }
   ],
   "source": [
    "# 导出 筛选光谱波段\n",
    "# spa 返回的是 列号 并不是光谱数据\n",
    "# 获取 波段列表\n",
    "absorbances = data.columns.values[1:]\n",
    "print(\"波段(前5个)\",absorbances[:5])\n",
    "\n",
    "# spa 筛选出的波段  以 test_size=0.3 为例\n",
    "print(\"spa 筛选出的波段(以 test_size=0.3 为例):\",absorbances[var_sel])\n",
    "\n",
    "# 导出 筛选波段光谱数据\n",
    "X_select = X[:,var_sel]\n",
    "print(\"X_select.shape:\",X_select.shape)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "id": "00fd6485",
   "metadata": {},
   "outputs": [],
   "source": [
    "# 建模 比较 PLS\n",
    "from sklearn.cross_decomposition import PLSRegression\n",
    "from sklearn.model_selection import KFold, cross_val_predict, train_test_split\n",
    "from sklearn.metrics import explained_variance_score\n",
    "from sklearn.metrics import mean_squared_error\n",
    "from scipy.signal import savgol_filter\n",
    "from sklearn.neighbors import KNeighborsClassifier\n",
    "from sklearn.model_selection import GridSearchCV\n",
    "from sklearn.metrics import confusion_matrix\n",
    "from sklearn.model_selection import ShuffleSplit\n",
    "from sklearn.linear_model import LogisticRegression"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 47,
   "id": "6cc75157",
   "metadata": {},
   "outputs": [],
   "source": [
    "def run_model(X, y):\n",
    "\n",
    "    train_accuracy = []\n",
    "    test_accuracy = []\n",
    "    best_train_accuracy = []\n",
    "    best_test_accuracy = []\n",
    "    sf = ShuffleSplit(n_splits=10, test_size=0.2, random_state=0)\n",
    "    for i in range(2,(int)(X.shape[0] * 0.8)):\n",
    "        for train_index, test_index in sf.split(X):\n",
    "            X_train,y_train = np.array(X)[train_index,:], np.array(y)[train_index]\n",
    "            X_test,y_test = np.array(X)[test_index,:], np.array(y)[test_index]\n",
    "            pls = PLSRegression(n_components=i)\n",
    "            pls.fit(X_train, y_train)\n",
    "            y_train_pre = pls.predict(X_train).reshape(1,-1)[0]\n",
    "            y_test_pre = pls.predict(X_test).reshape(1,-1)[0]\n",
    "            \n",
    "            train_accuracy.append(explained_variance_score(y_train, y_train_pre))\n",
    "            test_accuracy.append(explained_variance_score(y_test, y_test_pre))\n",
    "        best_test_accuracy.append(np.mean(test_accuracy))\n",
    "        best_train_accuracy.append(np.mean(train_accuracy))\n",
    "    try:\n",
    "        beat_pamas = np.argmax(best_train_accuracy)\n",
    "        print(beat_pamas)\n",
    "    except:\n",
    "        return 0,0,0,0\n",
    "\n",
    "    return best_test_accuracy[beat_pamas], best_train_accuracy[beat_pamas]\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 48,
   "id": "0b296a96",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "37\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "(-0.24995622106481558, 0.875900748295627)"
      ]
     },
     "execution_count": 48,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "run_model(X, y)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 50,
   "id": "8124f8c1",
   "metadata": {},
   "outputs": [],
   "source": [
    "run_model(X_select, y)\n",
    "#(0.40504202820663965, 0.7187061376599163)"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.8.8"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}
